An interconnection network or system enables data communication among its components or nodes. Exemplary interconnection networks include switches, routers, processor-memory systems, input/output (I/O) systems, system-on-chip (SoC), network-on-chip (NoC), and multiple-chip systems. A SoC integrates all the functionality of a computer or other complex electronic data system onto a single integrated circuit or chip. Data in an interconnection network may be exchanged from one node to another node in a transaction. Such a transaction may comprise phases such as a request for data, a transmission of the data, and an acknowledgment of receipt of the data. The data may be exchanged in the form of a message or a packet, which typically comprises a header containing control information and a payload containing the intended data.
Network topology refers to the arrangement of the nodes in an interconnection network. Topology design affects network performance, cost, power use, and flexibility, etc. For example, a first type of topology may provide for faster transaction completion compared to a second type of topology, but may require more expensive hardware compared to the second type of topology. Consequently, topology design involves weighing many factors and is an important aspect of network implementation.